  
package com.xebest.web.service;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.xebest.web.model.XeVenOrderInfoEntity;

/**
 * 订单同步接口
 * @desc: xebest-erp  
 * @author: 李贝贝  
 * @createTime: 2017年8月10日 下午1:55:09  
 * @history:  
 * @version: v1.0
 */
public interface XeVenOrderSyncOrderService {

	
	/**
	 * 鲜易云ERP订单同步接口批量
	 * @author: 李贝贝
	 * @createTime: 2017年6月28日 上午10:40:17  
	 * @history:  
	 * @param orderEntity
	 * @return
	 * @throws Exception int
	 */
	int insertXeVenOrderBatch(List<XeVenOrderInfoEntity> orderEntity) throws Exception;
	/**
	 * 前台取消/确认收货订单接口
	 * @param orderEntity
	 * @return
	 * @throws Exception
	 */
	int updateXeVenOrderInfo(XeVenOrderInfoEntity orderEntity) throws Exception;
	/**
	 * 待付款订单支付状态同步接口
	 * @author: 李贝贝
	 * @createTime: 2017年8月16日 上午11:06:52  
	 * @history:  
	 * @param orderEntity
	 * @return
	 * @throws Exception int
	 */
	int updatePayOrder(XeVenOrderInfoEntity orderEntity) throws Exception;
	
	
	/**
	 * 待付款订单支付状态同步接口使用 
	 * @author: 李贝贝
	 * @createTime: 2017年8月16日 上午11:41:16  
	 * @history:  
	 * @param resultMap
	 * @return XeVenOrderInfoEntity
	 */
	XeVenOrderInfoEntity getWaitPayOrder(Map<String, Object> resultMap);
	  
	/**
	 * 查询各种订单备注
	 * @author: 李书峰
	 * @createTime: 2017年8月17日 下午5:33:47  
	 * @history:  
	 * @param resultMap
	 * @return XeVenOrderInfoEntity  
	*/  
	XeVenOrderInfoEntity queryRemarks(Map<String, Object> resultMap);

	/**
	 * 统计订单是否存在同步订单使用
	 * @author: 李贝贝
	 * @createTime: 2017年11月15日 下午6:12:58  
	 * @history:  
	 * @param orderList
	 * @return BigDecimal
	 */
	BigDecimal countOrderExists(List<String> orderList);
	
	/**
	 *  货到付款订单完成支付时，需要更新订单支付状态为已支付
	 * @author: 李贝贝
	 * @createTime: 2017年8月16日 上午11:06:52  
	 * @history:  
	 * @param orderEntity
	 * @return
	 * @throws Exception int
	 */
	int podSyncOrderStatus(XeVenOrderInfoEntity orderEntity) throws Exception;
}
  
